{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import sqlite3\n",
    "import requests\n",
    "import tkinter as tk\n",
    "from tkinter import ttk, messagebox\n",
    "from datetime import datetime\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "API_KEY=\"ae1718d4587744b0b79f940fbef69e77\"\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "class BookManager:\n",
    "    def __init__(self, master):\n",
    "        self.master = master\n",
    "        self.setup_db()\n",
    "        self.setup_ui()\n",
    "        \n",
    "    def setup_db(self):\n",
    "        \"\"\"初始化数据库\"\"\"\n",
    "        self.conn = sqlite3.connect('books.db')\n",
    "        self.cursor = self.conn.cursor()\n",
    "        self.cursor.execute('''CREATE TABLE IF NOT EXISTS books\n",
    "                            (id INTEGER PRIMARY KEY AUTOINCREMENT,\n",
    "                             isbn TEXT UNIQUE,\n",
    "                             title TEXT,\n",
    "                             authors TEXT,\n",
    "                             publisher TEXT,\n",
    "                             publish_date TEXT,\n",
    "                             pages INTEGER,\n",
    "                             add_time TIMESTAMP)''')\n",
    "        self.conn.commit()\n",
    "\n",
    "    def setup_ui(self):\n",
    "        \"\"\"创建图形界面\"\"\"\n",
    "        self.master.title(\"图书管理系统\")\n",
    "        \n",
    "        # 输入区域\n",
    "        input_frame = ttk.Frame(self.master, padding=10)\n",
    "        input_frame.pack(fill=tk.X)\n",
    "        \n",
    "        ttk.Label(input_frame, text=\"ISBN号：\").grid(row=0, column=0)\n",
    "        self.isbn_entry = ttk.Entry(input_frame, width=20)\n",
    "        self.isbn_entry.grid(row=0, column=1, padx=5)\n",
    "        self.isbn_entry.bind(\"<Return>\", lambda e: self.add_book())  # 支持扫码枪回车\n",
    "        \n",
    "        ttk.Button(input_frame, text=\"添加图书\", command=self.add_book).grid(row=0, column=2, padx=5)\n",
    "        ttk.Button(input_frame, text=\"搜索图书\", command=self.search_books).grid(row=0, column=3)\n",
    "        \n",
    "        # 图书列表\n",
    "        columns = (\"id\", \"title\", \"authors\", \"isbn\", \"publisher\", \"add_time\")\n",
    "        self.tree = ttk.Treeview(self.master, columns=columns, show='headings', height=15)\n",
    "        \n",
    "        # 设置列属性\n",
    "        self.tree.heading(\"id\", text=\"ID\")\n",
    "        self.tree.heading(\"title\", text=\"书名\")\n",
    "        self.tree.heading(\"authors\", text=\"作者\")\n",
    "        self.tree.heading(\"isbn\", text=\"ISBN\")\n",
    "        self.tree.heading(\"publisher\", text=\"出版社\")\n",
    "        self.tree.heading(\"add_time\", text=\"入库时间\")\n",
    "        self.tree.column(\"id\", width=50)\n",
    "        self.tree.pack(fill=tk.BOTH, expand=True, padx=10, pady=10)\n",
    "        \n",
    "        # 加载数据\n",
    "        self.load_books()\n",
    "\n",
    "    def get_book_info(self, isbn):\n",
    "        url = f\"http://data.isbn.work/openApi/getInfoByIsbn?isbn={isbn}&appKey={API_KEY}\"\n",
    "        try:\n",
    "            response = requests.get(url, timeout=50)\n",
    "            data = response.json()\n",
    "            \n",
    "            return {\n",
    "                \"title\": data.get(\"title\", \"未知\"),\n",
    "                \"authors\": \", \".join(data.get(\"author\", [\"未知\"])),\n",
    "                \"publisher\": data.get(\"publisher\", \"未知\"),\n",
    "                \"publish_date\": data.get(\"pubdate\", \"未知\"),\n",
    "                \"pages\": data.get(\"pages\", 0),\n",
    "                \"price\": data.get(\"price\", \"未知\"),  # 新增价格字段\n",
    "                \"summary\": data.get(\"summary\", \"\")  # 新增摘要字段\n",
    "            }\n",
    "        except Exception as e:\n",
    "            messagebox.showerror(\"错误\", f\"获取图书信息失败: {str(e)}\")\n",
    "            return None\n",
    "    \n",
    "    def add_book(self):\n",
    "        \"\"\"添加图书\"\"\"\n",
    "        isbn = self.isbn_entry.get().strip()\n",
    "        if not isbn:\n",
    "            messagebox.showwarning(\"提示\", \"请输入ISBN号\")\n",
    "            return\n",
    "        \n",
    "        if self.book_exists(isbn):\n",
    "            messagebox.showinfo(\"提示\", \"该图书已存在\")\n",
    "            self.isbn_entry.delete(0, tk.END)\n",
    "            return\n",
    "        \n",
    "        book_info = self.get_book_info(isbn)\n",
    "        if not book_info:\n",
    "            return\n",
    "            \n",
    "        try:\n",
    "            self.cursor.execute('''INSERT INTO books \n",
    "                                  (isbn, title, authors, publisher, publish_date, pages, add_time)\n",
    "                                  VALUES (?,?,?,?,?,?,?)''',\n",
    "                               (isbn,\n",
    "                                book_info[\"title\"],\n",
    "                                book_info[\"authors\"],\n",
    "                                book_info[\"publisher\"],\n",
    "                                book_info[\"publish_date\"],\n",
    "                                book_info[\"pages\"],\n",
    "                                datetime.now().strftime(\"%Y-%m-%d %H:%M:%S\")))\n",
    "            self.conn.commit()\n",
    "            self.load_books()\n",
    "            self.isbn_entry.delete(0, tk.END)\n",
    "            messagebox.showinfo(\"成功\", \"图书添加成功！\")\n",
    "        except Exception as e:\n",
    "            messagebox.showerror(\"错误\", f\"数据库错误: {str(e)}\")\n",
    "\n",
    "    def book_exists(self, isbn):\n",
    "        \"\"\"检查图书是否存在\"\"\"\n",
    "        self.cursor.execute(\"SELECT id FROM books WHERE isbn=?\", (isbn,))\n",
    "        return self.cursor.fetchone() is not None\n",
    "\n",
    "    def load_books(self, search_key=None):\n",
    "        \"\"\"加载/刷新图书列表\"\"\"\n",
    "        for row in self.tree.get_children():\n",
    "            self.tree.delete(row)\n",
    "            \n",
    "        query = \"SELECT id, title, authors, isbn, publisher, add_time FROM books\"\n",
    "        params = ()\n",
    "        if search_key:\n",
    "            query += \" WHERE title LIKE ? OR authors LIKE ? OR isbn LIKE ?\"\n",
    "            search_term = f\"%{search_key}%\"\n",
    "            params = (search_term, search_term, search_term)\n",
    "            \n",
    "        self.cursor.execute(query, params)\n",
    "        for row in self.cursor.fetchall():\n",
    "            self.tree.insert(\"\", tk.END, values=row)\n",
    "\n",
    "    def search_books(self):\n",
    "        \"\"\"搜索图书\"\"\"\n",
    "        search_window = tk.Toplevel(self.master)\n",
    "        search_window.title(\"搜索图书\")\n",
    "        \n",
    "        ttk.Label(search_window, text=\"输入搜索关键词：\").pack(pady=5)\n",
    "        search_entry = ttk.Entry(search_window, width=30)\n",
    "        search_entry.pack(pady=5)\n",
    "        \n",
    "        def do_search():\n",
    "            self.load_books(search_entry.get().strip())\n",
    "            search_window.destroy()\n",
    "            \n",
    "        ttk.Button(search_window, text=\"搜索\", command=do_search).pack(pady=5)\n",
    "\n",
    "if __name__ == \"__main__\":\n",
    "    root = tk.Tk()\n",
    "    app = BookManager(root)\n",
    "    root.mainloop()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "\n",
    "def get_book_info(isbn):\n",
    "    url = f\"http://data.isbn.work/openApi/getInfoByIsbn?isbn={isbn}&appKey={API_KEY}\"\n",
    "    try:\n",
    "        response = requests.get(url, timeout=50)\n",
    "        data = response.json()\n",
    "        \n",
    "        \"\"\"return {\n",
    "            \"title\": data.get(\"title\", \"未知\"),\n",
    "            \"authors\": \", \".join(data.get(\"author\", [\"未知\"])),\n",
    "            \"publisher\": data.get(\"publisher\", \"未知\"),\n",
    "            \"publish_date\": data.get(\"pubdate\", \"未知\"),\n",
    "            \"pages\": data.get(\"pages\", 0),\n",
    "            \"price\": data.get(\"price\", \"未知\"),  # 新增价格字段\n",
    "            \"summary\": data.get(\"summary\", \"\")  # 新增摘要字段\n",
    "        }\n",
    "        \"\"\"\n",
    "        return data\n",
    "    except Exception as e:\n",
    "        messagebox.showerror(\"错误\", f\"获取图书信息失败: {str(e)}\")\n",
    "        return None\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'code': 0,\n",
       " 'data': {'isbn': '9787514340921',\n",
       "  'bookName': '财务自由之路：7年内赚到你的第一个1000万：Ihre erste Million in 7 Jahren',\n",
       "  'author': '舍费尔',\n",
       "  'press': '现代出版社',\n",
       "  'pressDate': '2017-01-01',\n",
       "  'pressPlace': '北京',\n",
       "  'price': 4500,\n",
       "  'pictures': '[\"https://data-isbn.oss-cn-hangzhou.aliyuncs.com/9787514340921.jpg\"]',\n",
       "  'clcCode': 'F830.59',\n",
       "  'clcName': '投资',\n",
       "  'bookDesc': '极简理财术，7年内实现财务自由！ ◇如何快速清偿债务； ◇如何在正确储蓄的同时积累财富； ◇11条能立刻增加财富的绝密法则； ◇银行秘而不宣的投资理财内幕知识。 拥有财富是每个人生来便被赋予的权利，每个人都可以通过长期计划变成有钱人！这本书将为你提供一生中的最佳投资理财策略！ 你是不是因为金钱问题而烦恼？每个月都是死薪水，是不是感觉致富无望？为什么自己的投资总是受挫？能不能在不丧失生活乐趣的情况下正确省钱？能不能立刻让自己的收入大幅提高？ 博多•舍费尔通过介绍梦想、目标、价值观和策略这四大致富支柱，指导各阶层的读者转变理财观念，运用有效的投资理财策略，在保证财务安全的前提下，实现财务自由。 本书的投资理财理念和策略，已经让成千上万的读者解决财务问题并最终实现财务自由。捧读此书的你，已经走在通往富裕的路上。',\n",
       "  'binding': '平装',\n",
       "  'language': 'chi',\n",
       "  'format': '16开-胶版纸',\n",
       "  'pages': '288页',\n",
       "  'edition': '1',\n",
       "  'words': '100千字'},\n",
       " 'success': True}"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "get_book_info(9787514340921)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "data=_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'舍费尔'"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data[\"data\"][\"author\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "type(data[\"data\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "__main__\n"
     ]
    }
   ],
   "source": [
    "print(__name__)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "a=[1,2,3]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "b=a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "a.append(3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[1, 2, 3, 3]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[1, 2, 3, 3]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "b"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "j"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[0, 0], [0, 1], [0, 2], [1, 0], [1, 1]]\n",
      "[[0, 0, 0], [0, 0, 1], [0, 0, 2], [0, 0, 3], [0, 1, 0], [0, 1, 1], [0, 1, 2], [0, 2, 0], [0, 2, 1], [1, 0, 0], [1, 0, 1], [1, 0, 2], [1, 1, 0], [1, 1, 1]]\n",
      "[[0, 0, 0, 0], [0, 0, 0, 1], [0, 0, 0, 2], [0, 0, 0, 3], [0, 0, 0, 4], [0, 0, 1, 0], [0, 0, 1, 1], [0, 0, 1, 2], [0, 0, 1, 3], [0, 0, 2, 0], [0, 0, 2, 1], [0, 0, 2, 2], [0, 0, 3, 0], [0, 0, 3, 1], [0, 1, 0, 0], [0, 1, 0, 1], [0, 1, 0, 2], [0, 1, 0, 3], [0, 1, 1, 0], [0, 1, 1, 1], [0, 1, 1, 2], [0, 1, 2, 0], [0, 1, 2, 1], [0, 2, 0, 0], [0, 2, 0, 1], [0, 2, 0, 2], [0, 2, 1, 0], [0, 2, 1, 1], [1, 0, 0, 0], [1, 0, 0, 1], [1, 0, 0, 2], [1, 0, 0, 3], [1, 0, 1, 0], [1, 0, 1, 1], [1, 0, 1, 2], [1, 0, 2, 0], [1, 0, 2, 1], [1, 1, 0, 0], [1, 1, 0, 1], [1, 1, 0, 2], [1, 1, 1, 0], [1, 1, 1, 1]]\n",
      "[[0, 0, 0, 0, 0], [0, 0, 0, 0, 1], [0, 0, 0, 0, 2], [0, 0, 0, 0, 3], [0, 0, 0, 0, 4], [0, 0, 0, 0, 5], [0, 0, 0, 1, 0], [0, 0, 0, 1, 1], [0, 0, 0, 1, 2], [0, 0, 0, 1, 3], [0, 0, 0, 1, 4], [0, 0, 0, 2, 0], [0, 0, 0, 2, 1], [0, 0, 0, 2, 2], [0, 0, 0, 2, 3], [0, 0, 0, 3, 0], [0, 0, 0, 3, 1], [0, 0, 0, 3, 2], [0, 0, 0, 4, 0], [0, 0, 0, 4, 1], [0, 0, 1, 0, 0], [0, 0, 1, 0, 1], [0, 0, 1, 0, 2], [0, 0, 1, 0, 3], [0, 0, 1, 0, 4], [0, 0, 1, 1, 0], [0, 0, 1, 1, 1], [0, 0, 1, 1, 2], [0, 0, 1, 1, 3], [0, 0, 1, 2, 0], [0, 0, 1, 2, 1], [0, 0, 1, 2, 2], [0, 0, 1, 3, 0], [0, 0, 1, 3, 1], [0, 0, 2, 0, 0], [0, 0, 2, 0, 1], [0, 0, 2, 0, 2], [0, 0, 2, 0, 3], [0, 0, 2, 1, 0], [0, 0, 2, 1, 1], [0, 0, 2, 1, 2], [0, 0, 2, 2, 0], [0, 0, 2, 2, 1], [0, 0, 3, 0, 0], [0, 0, 3, 0, 1], [0, 0, 3, 0, 2], [0, 0, 3, 1, 0], [0, 0, 3, 1, 1], [0, 1, 0, 0, 0], [0, 1, 0, 0, 1], [0, 1, 0, 0, 2], [0, 1, 0, 0, 3], [0, 1, 0, 0, 4], [0, 1, 0, 1, 0], [0, 1, 0, 1, 1], [0, 1, 0, 1, 2], [0, 1, 0, 1, 3], [0, 1, 0, 2, 0], [0, 1, 0, 2, 1], [0, 1, 0, 2, 2], [0, 1, 0, 3, 0], [0, 1, 0, 3, 1], [0, 1, 1, 0, 0], [0, 1, 1, 0, 1], [0, 1, 1, 0, 2], [0, 1, 1, 0, 3], [0, 1, 1, 1, 0], [0, 1, 1, 1, 1], [0, 1, 1, 1, 2], [0, 1, 1, 2, 0], [0, 1, 1, 2, 1], [0, 1, 2, 0, 0], [0, 1, 2, 0, 1], [0, 1, 2, 0, 2], [0, 1, 2, 1, 0], [0, 1, 2, 1, 1], [0, 2, 0, 0, 0], [0, 2, 0, 0, 1], [0, 2, 0, 0, 2], [0, 2, 0, 0, 3], [0, 2, 0, 1, 0], [0, 2, 0, 1, 1], [0, 2, 0, 1, 2], [0, 2, 0, 2, 0], [0, 2, 0, 2, 1], [0, 2, 1, 0, 0], [0, 2, 1, 0, 1], [0, 2, 1, 0, 2], [0, 2, 1, 1, 0], [0, 2, 1, 1, 1], [1, 0, 0, 0, 0], [1, 0, 0, 0, 1], [1, 0, 0, 0, 2], [1, 0, 0, 0, 3], [1, 0, 0, 0, 4], [1, 0, 0, 1, 0], [1, 0, 0, 1, 1], [1, 0, 0, 1, 2], [1, 0, 0, 1, 3], [1, 0, 0, 2, 0], [1, 0, 0, 2, 1], [1, 0, 0, 2, 2], [1, 0, 0, 3, 0], [1, 0, 0, 3, 1], [1, 0, 1, 0, 0], [1, 0, 1, 0, 1], [1, 0, 1, 0, 2], [1, 0, 1, 0, 3], [1, 0, 1, 1, 0], [1, 0, 1, 1, 1], [1, 0, 1, 1, 2], [1, 0, 1, 2, 0], [1, 0, 1, 2, 1], [1, 0, 2, 0, 0], [1, 0, 2, 0, 1], [1, 0, 2, 0, 2], [1, 0, 2, 1, 0], [1, 0, 2, 1, 1], [1, 1, 0, 0, 0], [1, 1, 0, 0, 1], [1, 1, 0, 0, 2], [1, 1, 0, 0, 3], [1, 1, 0, 1, 0], [1, 1, 0, 1, 1], [1, 1, 0, 1, 2], [1, 1, 0, 2, 0], [1, 1, 0, 2, 1], [1, 1, 1, 0, 0], [1, 1, 1, 0, 1], [1, 1, 1, 0, 2], [1, 1, 1, 1, 0], [1, 1, 1, 1, 1]]\n"
     ]
    }
   ],
   "source": [
    "result=[]\n",
    "old_result=[[0],[1]]\n",
    "n=6\n",
    "for i in range(2,n):\n",
    "    for l in old_result:\n",
    "        for j in range(i-sum(l)+1):\n",
    "            result.append([*l,j])\n",
    "    print(result)\n",
    "    old_result,result=result,[]\n",
    "\n",
    "for l in old_result:\n",
    "    result.append([*l,6-sum(l)])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[[0, 0, 0, 0, 0, 6],\n",
       " [0, 0, 0, 0, 1, 5],\n",
       " [0, 0, 0, 0, 2, 4],\n",
       " [0, 0, 0, 0, 3, 3],\n",
       " [0, 0, 0, 0, 4, 2],\n",
       " [0, 0, 0, 0, 5, 1],\n",
       " [0, 0, 0, 1, 0, 5],\n",
       " [0, 0, 0, 1, 1, 4],\n",
       " [0, 0, 0, 1, 2, 3],\n",
       " [0, 0, 0, 1, 3, 2],\n",
       " [0, 0, 0, 1, 4, 1],\n",
       " [0, 0, 0, 2, 0, 4],\n",
       " [0, 0, 0, 2, 1, 3],\n",
       " [0, 0, 0, 2, 2, 2],\n",
       " [0, 0, 0, 2, 3, 1],\n",
       " [0, 0, 0, 3, 0, 3],\n",
       " [0, 0, 0, 3, 1, 2],\n",
       " [0, 0, 0, 3, 2, 1],\n",
       " [0, 0, 0, 4, 0, 2],\n",
       " [0, 0, 0, 4, 1, 1],\n",
       " [0, 0, 1, 0, 0, 5],\n",
       " [0, 0, 1, 0, 1, 4],\n",
       " [0, 0, 1, 0, 2, 3],\n",
       " [0, 0, 1, 0, 3, 2],\n",
       " [0, 0, 1, 0, 4, 1],\n",
       " [0, 0, 1, 1, 0, 4],\n",
       " [0, 0, 1, 1, 1, 3],\n",
       " [0, 0, 1, 1, 2, 2],\n",
       " [0, 0, 1, 1, 3, 1],\n",
       " [0, 0, 1, 2, 0, 3],\n",
       " [0, 0, 1, 2, 1, 2],\n",
       " [0, 0, 1, 2, 2, 1],\n",
       " [0, 0, 1, 3, 0, 2],\n",
       " [0, 0, 1, 3, 1, 1],\n",
       " [0, 0, 2, 0, 0, 4],\n",
       " [0, 0, 2, 0, 1, 3],\n",
       " [0, 0, 2, 0, 2, 2],\n",
       " [0, 0, 2, 0, 3, 1],\n",
       " [0, 0, 2, 1, 0, 3],\n",
       " [0, 0, 2, 1, 1, 2],\n",
       " [0, 0, 2, 1, 2, 1],\n",
       " [0, 0, 2, 2, 0, 2],\n",
       " [0, 0, 2, 2, 1, 1],\n",
       " [0, 0, 3, 0, 0, 3],\n",
       " [0, 0, 3, 0, 1, 2],\n",
       " [0, 0, 3, 0, 2, 1],\n",
       " [0, 0, 3, 1, 0, 2],\n",
       " [0, 0, 3, 1, 1, 1],\n",
       " [0, 1, 0, 0, 0, 5],\n",
       " [0, 1, 0, 0, 1, 4],\n",
       " [0, 1, 0, 0, 2, 3],\n",
       " [0, 1, 0, 0, 3, 2],\n",
       " [0, 1, 0, 0, 4, 1],\n",
       " [0, 1, 0, 1, 0, 4],\n",
       " [0, 1, 0, 1, 1, 3],\n",
       " [0, 1, 0, 1, 2, 2],\n",
       " [0, 1, 0, 1, 3, 1],\n",
       " [0, 1, 0, 2, 0, 3],\n",
       " [0, 1, 0, 2, 1, 2],\n",
       " [0, 1, 0, 2, 2, 1],\n",
       " [0, 1, 0, 3, 0, 2],\n",
       " [0, 1, 0, 3, 1, 1],\n",
       " [0, 1, 1, 0, 0, 4],\n",
       " [0, 1, 1, 0, 1, 3],\n",
       " [0, 1, 1, 0, 2, 2],\n",
       " [0, 1, 1, 0, 3, 1],\n",
       " [0, 1, 1, 1, 0, 3],\n",
       " [0, 1, 1, 1, 1, 2],\n",
       " [0, 1, 1, 1, 2, 1],\n",
       " [0, 1, 1, 2, 0, 2],\n",
       " [0, 1, 1, 2, 1, 1],\n",
       " [0, 1, 2, 0, 0, 3],\n",
       " [0, 1, 2, 0, 1, 2],\n",
       " [0, 1, 2, 0, 2, 1],\n",
       " [0, 1, 2, 1, 0, 2],\n",
       " [0, 1, 2, 1, 1, 1],\n",
       " [0, 2, 0, 0, 0, 4],\n",
       " [0, 2, 0, 0, 1, 3],\n",
       " [0, 2, 0, 0, 2, 2],\n",
       " [0, 2, 0, 0, 3, 1],\n",
       " [0, 2, 0, 1, 0, 3],\n",
       " [0, 2, 0, 1, 1, 2],\n",
       " [0, 2, 0, 1, 2, 1],\n",
       " [0, 2, 0, 2, 0, 2],\n",
       " [0, 2, 0, 2, 1, 1],\n",
       " [0, 2, 1, 0, 0, 3],\n",
       " [0, 2, 1, 0, 1, 2],\n",
       " [0, 2, 1, 0, 2, 1],\n",
       " [0, 2, 1, 1, 0, 2],\n",
       " [0, 2, 1, 1, 1, 1],\n",
       " [1, 0, 0, 0, 0, 5],\n",
       " [1, 0, 0, 0, 1, 4],\n",
       " [1, 0, 0, 0, 2, 3],\n",
       " [1, 0, 0, 0, 3, 2],\n",
       " [1, 0, 0, 0, 4, 1],\n",
       " [1, 0, 0, 1, 0, 4],\n",
       " [1, 0, 0, 1, 1, 3],\n",
       " [1, 0, 0, 1, 2, 2],\n",
       " [1, 0, 0, 1, 3, 1],\n",
       " [1, 0, 0, 2, 0, 3],\n",
       " [1, 0, 0, 2, 1, 2],\n",
       " [1, 0, 0, 2, 2, 1],\n",
       " [1, 0, 0, 3, 0, 2],\n",
       " [1, 0, 0, 3, 1, 1],\n",
       " [1, 0, 1, 0, 0, 4],\n",
       " [1, 0, 1, 0, 1, 3],\n",
       " [1, 0, 1, 0, 2, 2],\n",
       " [1, 0, 1, 0, 3, 1],\n",
       " [1, 0, 1, 1, 0, 3],\n",
       " [1, 0, 1, 1, 1, 2],\n",
       " [1, 0, 1, 1, 2, 1],\n",
       " [1, 0, 1, 2, 0, 2],\n",
       " [1, 0, 1, 2, 1, 1],\n",
       " [1, 0, 2, 0, 0, 3],\n",
       " [1, 0, 2, 0, 1, 2],\n",
       " [1, 0, 2, 0, 2, 1],\n",
       " [1, 0, 2, 1, 0, 2],\n",
       " [1, 0, 2, 1, 1, 1],\n",
       " [1, 1, 0, 0, 0, 4],\n",
       " [1, 1, 0, 0, 1, 3],\n",
       " [1, 1, 0, 0, 2, 2],\n",
       " [1, 1, 0, 0, 3, 1],\n",
       " [1, 1, 0, 1, 0, 3],\n",
       " [1, 1, 0, 1, 1, 2],\n",
       " [1, 1, 0, 1, 2, 1],\n",
       " [1, 1, 0, 2, 0, 2],\n",
       " [1, 1, 0, 2, 1, 1],\n",
       " [1, 1, 1, 0, 0, 3],\n",
       " [1, 1, 1, 0, 1, 2],\n",
       " [1, 1, 1, 0, 2, 1],\n",
       " [1, 1, 1, 1, 0, 2],\n",
       " [1, 1, 1, 1, 1, 1]]"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sympy import *"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [],
   "source": [
    "a=[1,S(5)/6,S(4)/5,S(3)/4,S(2)/3,S(1)/2]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[1, 5/6, 4/5, 3/4, 2/3, 1/2]"
      ]
     },
     "execution_count": 60,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [],
   "source": [
    "a=symbols(\"a1:7\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(a1, a2, a3, a4, a5, a6)"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [],
   "source": [
    "ko=[]\n",
    "answer=[]\n",
    "for l in result:\n",
    "    ko.append([a[0]*l[0]/S(7),a[0]*(1-l[0]/S(7))])\n",
    "    sum=ko[0][0]\n",
    "    for i in range(1,len(l)):\n",
    "        ko.append([ko[i-1][1]*a[i]*l[i]/S(7),ko[i-1][1]*a[i]*(1-l[i]/S(7))])\n",
    "        sum+=ko[i][0]\n",
    "    answer.append(sum)\n",
    "    ko=[]\n",
    "    sum=0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[1/7,\n",
       " 22/147,\n",
       " 8/49,\n",
       " 9/49,\n",
       " 31/147,\n",
       " 12/49,\n",
       " 17/98,\n",
       " 125/686,\n",
       " 135/686,\n",
       " 149/686,\n",
       " 167/686,\n",
       " 31/147,\n",
       " 227/1029,\n",
       " 242/1029,\n",
       " 262/1029,\n",
       " 25/98,\n",
       " 545/2058,\n",
       " 191/686,\n",
       " 15/49,\n",
       " 108/343,\n",
       " 29/147,\n",
       " 212/1029,\n",
       " 227/1029,\n",
       " 248/1029,\n",
       " 275/1029,\n",
       " 233/1029,\n",
       " 1703/7203,\n",
       " 1811/7203,\n",
       " 1955/7203,\n",
       " 269/1029,\n",
       " 1958/7203,\n",
       " 2063/7203,\n",
       " 311/1029,\n",
       " 2249/7203,\n",
       " 38/147,\n",
       " 92/343,\n",
       " 97/343,\n",
       " 311/1029,\n",
       " 587/2058,\n",
       " 4259/14406,\n",
       " 4469/14406,\n",
       " 326/1029,\n",
       " 2357/7203,\n",
       " 16/49,\n",
       " 346/1029,\n",
       " 120/343,\n",
       " 120/343,\n",
       " 864/2401,\n",
       " 65/294,\n",
       " 473/2058,\n",
       " 503/2058,\n",
       " 545/2058,\n",
       " 599/2058,\n",
       " 515/2058,\n",
       " 3749/14406,\n",
       " 3965/14406,\n",
       " 4253/14406,\n",
       " 587/2058,\n",
       " 4259/14406,\n",
       " 4469/14406,\n",
       " 671/2058,\n",
       " 4841/14406,\n",
       " 557/2058,\n",
       " 4043/14406,\n",
       " 4259/14406,\n",
       " 4547/14406,\n",
       " 4295/14406,\n",
       " 31145/100842,\n",
       " 32657/100842,\n",
       " 4763/14406,\n",
       " 34421/100842,\n",
       " 671/2058,\n",
       " 4847/14406,\n",
       " 5057/14406,\n",
       " 5057/14406,\n",
       " 36479/100842,\n",
       " 15/49,\n",
       " 325/1029,\n",
       " 340/1029,\n",
       " 120/343,\n",
       " 685/2058,\n",
       " 4945/14406,\n",
       " 5155/14406,\n",
       " 125/343,\n",
       " 900/2401,\n",
       " 120/343,\n",
       " 865/2401,\n",
       " 900/2401,\n",
       " 900/2401,\n",
       " 6480/16807,\n",
       " 12/49,\n",
       " 87/343,\n",
       " 92/343,\n",
       " 99/343,\n",
       " 108/343,\n",
       " 94/343,\n",
       " 682/2401,\n",
       " 718/2401,\n",
       " 766/2401,\n",
       " 106/343,\n",
       " 767/2401,\n",
       " 802/2401,\n",
       " 120/343,\n",
       " 864/2401,\n",
       " 101/343,\n",
       " 731/2401,\n",
       " 767/2401,\n",
       " 815/2401,\n",
       " 773/2401,\n",
       " 5591/16807,\n",
       " 5843/16807,\n",
       " 851/2401,\n",
       " 6137/16807,\n",
       " 120/343,\n",
       " 865/2401,\n",
       " 900/2401,\n",
       " 900/2401,\n",
       " 6480/16807,\n",
       " 108/343,\n",
       " 780/2401,\n",
       " 816/2401,\n",
       " 864/2401,\n",
       " 822/2401,\n",
       " 5934/16807,\n",
       " 6186/16807,\n",
       " 900/2401,\n",
       " 6480/16807,\n",
       " 864/2401,\n",
       " 6228/16807,\n",
       " 6480/16807,\n",
       " 6480/16807,\n",
       " 46656/117649]"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "answer"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Help on function plot in module sympy.plotting.plot:\n",
      "\n",
      "plot(*args, show=True, **kwargs)\n",
      "    Plots a function of a single variable as a curve.\n",
      "    \n",
      "    Parameters\n",
      "    ==========\n",
      "    \n",
      "    args :\n",
      "        The first argument is the expression representing the function\n",
      "        of single variable to be plotted.\n",
      "    \n",
      "        The last argument is a 3-tuple denoting the range of the free\n",
      "        variable. e.g. ``(x, 0, 5)``\n",
      "    \n",
      "        Typical usage examples are in the following:\n",
      "    \n",
      "        - Plotting a single expression with a single range.\n",
      "            ``plot(expr, range, **kwargs)``\n",
      "        - Plotting a single expression with the default range (-10, 10).\n",
      "            ``plot(expr, **kwargs)``\n",
      "        - Plotting multiple expressions with a single range.\n",
      "            ``plot(expr1, expr2, ..., range, **kwargs)``\n",
      "        - Plotting multiple expressions with multiple ranges.\n",
      "            ``plot((expr1, range1), (expr2, range2), ..., **kwargs)``\n",
      "    \n",
      "        It is best practice to specify range explicitly because default\n",
      "        range may change in the future if a more advanced default range\n",
      "        detection algorithm is implemented.\n",
      "    \n",
      "    show : bool, optional\n",
      "        The default value is set to ``True``. Set show to ``False`` and\n",
      "        the function will not display the plot. The returned instance of\n",
      "        the ``Plot`` class can then be used to save or display the plot\n",
      "        by calling the ``save()`` and ``show()`` methods respectively.\n",
      "    \n",
      "    line_color : string, or float, or function, optional\n",
      "        Specifies the color for the plot.\n",
      "        See ``Plot`` to see how to set color for the plots.\n",
      "        Note that by setting ``line_color``, it would be applied simultaneously\n",
      "        to all the series.\n",
      "    \n",
      "    title : str, optional\n",
      "        Title of the plot. It is set to the latex representation of\n",
      "        the expression, if the plot has only one expression.\n",
      "    \n",
      "    label : str, optional\n",
      "        The label of the expression in the plot. It will be used when\n",
      "        called with ``legend``. Default is the name of the expression.\n",
      "        e.g. ``sin(x)``\n",
      "    \n",
      "    xlabel : str or expression, optional\n",
      "        Label for the x-axis.\n",
      "    \n",
      "    ylabel : str or expression, optional\n",
      "        Label for the y-axis.\n",
      "    \n",
      "    xscale : 'linear' or 'log', optional\n",
      "        Sets the scaling of the x-axis.\n",
      "    \n",
      "    yscale : 'linear' or 'log', optional\n",
      "        Sets the scaling of the y-axis.\n",
      "    \n",
      "    axis_center : (float, float), optional\n",
      "        Tuple of two floats denoting the coordinates of the center or\n",
      "        {'center', 'auto'}\n",
      "    \n",
      "    xlim : (float, float), optional\n",
      "        Denotes the x-axis limits, ``(min, max)```.\n",
      "    \n",
      "    ylim : (float, float), optional\n",
      "        Denotes the y-axis limits, ``(min, max)```.\n",
      "    \n",
      "    annotations : list, optional\n",
      "        A list of dictionaries specifying the type of annotation\n",
      "        required. The keys in the dictionary should be equivalent\n",
      "        to the arguments of the :external:mod:`matplotlib`'s\n",
      "        :external:meth:`~matplotlib.axes.Axes.annotate` method.\n",
      "    \n",
      "    markers : list, optional\n",
      "        A list of dictionaries specifying the type the markers required.\n",
      "        The keys in the dictionary should be equivalent to the arguments\n",
      "        of the :external:mod:`matplotlib`'s :external:func:`~matplotlib.pyplot.plot()` function\n",
      "        along with the marker related keyworded arguments.\n",
      "    \n",
      "    rectangles : list, optional\n",
      "        A list of dictionaries specifying the dimensions of the\n",
      "        rectangles to be plotted. The keys in the dictionary should be\n",
      "        equivalent to the arguments of the :external:mod:`matplotlib`'s\n",
      "        :external:class:`~matplotlib.patches.Rectangle` class.\n",
      "    \n",
      "    fill : dict, optional\n",
      "        A dictionary specifying the type of color filling required in\n",
      "        the plot. The keys in the dictionary should be equivalent to the\n",
      "        arguments of the :external:mod:`matplotlib`'s\n",
      "        :external:meth:`~matplotlib.axes.Axes.fill_between` method.\n",
      "    \n",
      "    adaptive : bool, optional\n",
      "        The default value is set to ``True``. Set adaptive to ``False``\n",
      "        and specify ``nb_of_points`` if uniform sampling is required.\n",
      "    \n",
      "        The plotting uses an adaptive algorithm which samples\n",
      "        recursively to accurately plot. The adaptive algorithm uses a\n",
      "        random point near the midpoint of two points that has to be\n",
      "        further sampled. Hence the same plots can appear slightly\n",
      "        different.\n",
      "    \n",
      "    depth : int, optional\n",
      "        Recursion depth of the adaptive algorithm. A depth of value\n",
      "        `n` samples a maximum of `2^{n}` points.\n",
      "    \n",
      "        If the ``adaptive`` flag is set to ``False``, this will be\n",
      "        ignored.\n",
      "    \n",
      "    nb_of_points : int, optional\n",
      "        Used when the ``adaptive`` is set to ``False``. The function\n",
      "        is uniformly sampled at ``nb_of_points`` number of points.\n",
      "    \n",
      "        If the ``adaptive`` flag is set to ``True``, this will be\n",
      "        ignored.\n",
      "    \n",
      "    size : (float, float), optional\n",
      "        A tuple in the form (width, height) in inches to specify the size of\n",
      "        the overall figure. The default value is set to ``None``, meaning\n",
      "        the size will be set by the default backend.\n",
      "    \n",
      "    Examples\n",
      "    ========\n",
      "    \n",
      "    .. plot::\n",
      "       :context: close-figs\n",
      "       :format: doctest\n",
      "       :include-source: True\n",
      "    \n",
      "       >>> from sympy import symbols\n",
      "       >>> from sympy.plotting import plot\n",
      "       >>> x = symbols('x')\n",
      "    \n",
      "    Single Plot\n",
      "    \n",
      "    .. plot::\n",
      "       :context: close-figs\n",
      "       :format: doctest\n",
      "       :include-source: True\n",
      "    \n",
      "       >>> plot(x**2, (x, -5, 5))\n",
      "       Plot object containing:\n",
      "       [0]: cartesian line: x**2 for x over (-5.0, 5.0)\n",
      "    \n",
      "    Multiple plots with single range.\n",
      "    \n",
      "    .. plot::\n",
      "       :context: close-figs\n",
      "       :format: doctest\n",
      "       :include-source: True\n",
      "    \n",
      "       >>> plot(x, x**2, x**3, (x, -5, 5))\n",
      "       Plot object containing:\n",
      "       [0]: cartesian line: x for x over (-5.0, 5.0)\n",
      "       [1]: cartesian line: x**2 for x over (-5.0, 5.0)\n",
      "       [2]: cartesian line: x**3 for x over (-5.0, 5.0)\n",
      "    \n",
      "    Multiple plots with different ranges.\n",
      "    \n",
      "    .. plot::\n",
      "       :context: close-figs\n",
      "       :format: doctest\n",
      "       :include-source: True\n",
      "    \n",
      "       >>> plot((x**2, (x, -6, 6)), (x, (x, -5, 5)))\n",
      "       Plot object containing:\n",
      "       [0]: cartesian line: x**2 for x over (-6.0, 6.0)\n",
      "       [1]: cartesian line: x for x over (-5.0, 5.0)\n",
      "    \n",
      "    No adaptive sampling.\n",
      "    \n",
      "    .. plot::\n",
      "       :context: close-figs\n",
      "       :format: doctest\n",
      "       :include-source: True\n",
      "    \n",
      "       >>> plot(x**2, adaptive=False, nb_of_points=400)\n",
      "       Plot object containing:\n",
      "       [0]: cartesian line: x**2 for x over (-10.0, 10.0)\n",
      "    \n",
      "    See Also\n",
      "    ========\n",
      "    \n",
      "    Plot, LineOver1DRangeSeries\n",
      "\n"
     ]
    }
   ],
   "source": [
    "help(plot)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [],
   "source": [
    "from matplotlib.pyplot import plot"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x11d70bd10>]"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot(answer)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "base",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
